

#ifndef __CORTISOL_H
#define __CORTISOL_H

extern "C" {
	#include <libavutil/avutil.h>
	#include <libavformat/avformat.h>
	#include <libavcodec/avcodec.h>
	#include <libswscale/swscale.h>

	int img_convert(AVPicture *dst, int dst_pix_fmt, const AVPicture *src, int pix_fmt, int width, int height);
}

#if defined(WIN32)
	#include <io.h> /*** for _findnext API ***/
#else
	#include <dirent.h> /*** for dirent API ***/
#endif

#include <string>
#include <map>
#include <vector>
#include <Windows.h>
#include <cstdlib>
#include <cassert>
#include <exception>
#include <iostream>

using std::cout;
using std::cerr;
using std::endl;

#include <Windows.h>

#include "Exception.h"
#include "Args.h"
#include "Settings.h"

#define RESOLVE( symbol ) \
	if((symbol ## _fptr = (symbol ## _fptr_t)GetProcAddress(handle, #symbol)) == NULL) \
		throw Exception("unresolved symbol " #symbol )

#include "AVCodec.h"
#include "AVFormat.h"
#include "AVUtil.h"
#include "SWScale.h"
#include "AVLib.h"

#include "VideoFiles.h"
#include "VideoFactory.h"
#include "WorkLoad.h"
#include "WorkThread.h"
#include "ThreadPool.h"
#include "StatusThread.h"

#endif /*** __CORTISOL_H ***/

